Conventionally, in a packet communication network for transmitting packets, a packet transmission apparatus is provided that is equipped with a plurality of communication ports and that switches packets between the plurality of communication ports. One example of such a packet transmission apparatus is a layer 2 switch. When a packet is received via a communication port, the packet transmission apparatus reads the destination address of the packet and determines the outgoing communication port to which the packet is to be transferred. The received packet is transferred to the thus determined outgoing communication port from which the packet is transmitted out. In the following description, the communication port from which the packet is transmitted out may sometimes be referred to simply as the “output port”.
Each packet is temporarily stored in an output packet buffer before it is transmitted out from the output port. A scheduler in the packet transmission apparatus performs transmission control according to the priority class of each packet and the transmission rate of each output port. Then, each packet to be transferred to a designated communication port is read out of the output packet buffer and directed to that communication port for output.
In the prior art, there is proposed a rate guarantee method that provides rate guarantees to individual flows through the use of a prescribed buffer management scheme. This method is intended to eliminate dependency on the number of flows in packet transmission decisions while further minimizing overall complexity, even in the presence of excess traffic from other flows.
This method provides an explicit rate guarantee Rn for each of a plurality of packet streams n, wherein each stream n is indexed in the range 1 to N and is multiplexed for transmission on a common output link j in a packet switched network, the link including a buffer having a total buffer space in bytes for storing the packets.
This method includes the steps of: a) for each currently received packet, identifying the packet stream n associated with the currently received packet; b) adding the currently received packet to an occupied portion of the total buffer space to yield a first sum; c) determining whether the first sum exceeds a first threshold and setting a first variable in response thereto; d) adding the currently received packet to an occupied portion of the buffer space allocated to the stream n to yield a second sum; e) determining whether the second sum exceeds a second threshold and setting a second variable in response thereto; and f) accepting or rejecting the packet based upon the first and second variables, whereby the rate guarantee Rn for the stream is assured.
There is also a proposed switch control circuit for an ATM switch that switches each incoming ATM cell from an input port to an output port for transmission in an asynchronous transfer mode. The switch control circuit includes an input port buffer and output port buffer, provided for the input port and output port, respectively, for performing ATM cell switching between the input port and the output port, a back-pressure function for outputting a transmission resume signal, a transmission stop signal, or a transmission control signal, whichever signal is selected based on the amount of occupied space in the output port buffer, in order to prevent cell discarding in the output port buffer, and a cell transmission control means.
The cell transmission control means performs control so that when the transmission resume signal is issued from the back-pressure function for the output port to which the ATM cell is to be transmitted, the ATM cell is transmitted to the output port at a certain first rate, but when the transmission control signal is issued from the back-pressure function for the output port to which the ATM cell is to be transmitted, the ATM cell is transmitted to the output port at a certain second rate.
There is further a proposed packet transmission apparatus that includes a first means which, when writing a received packet to a packet buffer, stores its address in a first storage unit as a read address for each destination corresponding to a physical port and also stores received packet information for the received packet, a second means which, when reading the received packet from the packet buffer in accordance with scheduling control, reads the first storage unit to retrieve the read address of the destination specified in the received packet information and holds the read address in a second storage unit, and a third means which retrieves the read address from the second storage unit in accordance with arbitration control and reads out the corresponding received packet from the packet buffer.
Related art is disclosed in Japanese Unexamined Patent Publication No. 2000-49853, Japanese Unexamined Patent Publication No. H10-145382, and Japanese Unexamined Patent Publication No. 2009-21872.